"""
Pydantic Schemas（数据验证和序列化）
"""
from app.schemas.user import (
    UserBase, UserCreate, UserUpdate, UserResponse, UserLogin,
    UserStats, LoginResponse
)
from app.schemas.venue import (
    VenueBase, VenueCreate, VenueUpdate, VenueResponse,
    TimeSlotBase, TimeSlotCreate, TimeSlotResponse,
    VenueFilter, Location
)
from app.schemas.team import (
    TeamBase, TeamCreate, TeamUpdate, TeamResponse,
    TeamMemberBase, TeamMemberResponse
)
from app.schemas.booking import (
    BookingBase, BookingCreate, BookingResponse,
    BookingParticipantBase, BookingParticipantResponse,
    OrderFilter
)
from app.schemas.match import (
    MatchBase, MatchCreate, MatchUpdate, MatchResponse,
    MatchPlayerBase, MatchPlayerResponse,
    PositionRequirement
)
from app.schemas.message import (
    MessageBase, MessageCreate, MessageResponse
)
from app.schemas.wallet import (
    WalletBase, WalletResponse,
    TransactionBase, TransactionResponse,
    RechargeRequest, WithdrawRequest, TransferRequest,
    TransactionFilterParams
)
from app.schemas.common import (
    ApiResponse, PageData, SuccessResponse
)

__all__ = [
    # User
    "UserBase", "UserCreate", "UserUpdate", "UserResponse", "UserLogin",
    "UserStats", "LoginResponse",
    
    # Venue
    "VenueBase", "VenueCreate", "VenueUpdate", "VenueResponse",
    "TimeSlotBase", "TimeSlotCreate", "TimeSlotResponse",
    "VenueFilter", "Location",
    
    # Team
    "TeamBase", "TeamCreate", "TeamUpdate", "TeamResponse",
    "TeamMemberBase", "TeamMemberResponse",
    
    # Booking
    "BookingBase", "BookingCreate", "BookingResponse",
    "BookingParticipantBase", "BookingParticipantResponse",
    "OrderFilter",
    
    # Match
    "MatchBase", "MatchCreate", "MatchUpdate", "MatchResponse",
    "MatchPlayerBase", "MatchPlayerResponse",
    "PositionRequirement",
    
    # Message
    "MessageBase", "MessageCreate", "MessageResponse",
    
    # Wallet
    "WalletBase", "WalletResponse",
    "TransactionBase", "TransactionResponse",
    "RechargeRequest", "WithdrawRequest", "TransferRequest",
    "TransactionFilterParams",
    
    # Common
    "ApiResponse", "PageData", "SuccessResponse"
]

